package com.easylinkin.linkappapi.reportCenter.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.easylinkin.linkappapi.common.model.RequestModel;
import com.easylinkin.linkappapi.reportCenter.entity.Report;
import com.easylinkin.linkappapi.reportCenter.entity.dto.ReportDetailDTO;
import com.easylinkin.linkappapi.reportCenter.entity.vo.ReportDeviceVo;

import java.util.List;
import java.util.Map;

/**
 * @author kan yuanfeng
 */
public interface DeviceReportService {
    /**
     * @Description: 根据条件，分页(不分页)查询报表
     * @author kan yuanfeng
     * @date 2023/07/14 11:42
     */
    IPage<Report> findReportList(RequestModel<Report> requestModel);

    /**
     * @Description: 运行报告设备统计
     * @author kan yuanfeng
     * @date 2023/07/14 11:42
     */
    List<ReportDeviceVo> findDevice(Integer reportId);

    /**
     * @Description: 运行报告告警统计
     * @author kan yuanfeng
     * @date 2023/07/14 11:42
     */
    Map<String, Object> findAlarm(Integer reportId);

    /**
     * 绿色施工查询
     */
    List<ReportDetailDTO> findEnergy(Integer reportId);

    /**
     * 安全管理查询
     */
    List<ReportDetailDTO> findSafe(Integer reportId);

    /**
     * 大型作业设备查询
     */
    List<ReportDetailDTO> findLargeDevice(Integer reportId);
}
